/**
 * Created with IntelliJ IEDA.
 * Description:
 * User:86186
 * Date:2023-04-25
 * Time:16:52
 */

/**
 * BM19寻找峰值
 */

public class findPeakElement {
    public static void main(String[] args) {
        int nums[] = {2,4,1,2,7,8,4};
        System.out.println(findPeakElement(new int[]{1,2,3,4,5,6,7,8,9}));
    }
    public static int findPeakElement (int[] nums) {
        //存储索引的位置
        int index = 0;
        //排除只有一个数字的情况
        if (nums.length == 1) {
            return 0;
        }
        int i = 0;
        //如果发现只要第一个数字比第二个数字大,就直接返回第一个数字的索引
        if (nums[0] > nums[1]) {
            return 0;
        }
        for (i = 1; i < nums.length - 1; i++) {
            if (nums[i] > nums[i - 1] && nums[i] > nums[i + 1]) {
                index = i;
                break;
            }
        }
        //如果上面循环发现还没有找到峰值,直接返回最后一个
        if (i == nums.length - 1) {
            return nums.length - 1;
        }
        return index;
    }
}
